This invention relates to an apparatus for controlling the position of a motor-driven object by driving the motor in accordance with the number of input command pulses.
Apparatuses are known that control the position of a motor-driven object by driving the motor in accordance with the number of input command pulses.
FIG. 7 shows a conventional motor control apparatus. The apparatus shown in FIG. 7 consists of three basic units, a position control unit 50, a speed control unit 70 and a current control unit 80. The position control unit 50 is supplied with command pulses that direct the motor to rotate either clockwise or counterclockwise. The position control unit 50 comprises a first multiplier 51 that multiplies the input command pulses by a factor of G.sub.1, a second multiplier 65 that multiplies the feedback pulses from a rotary encoder 63 (to be described below) by a factor of G.sub.2, a deviation counter 52 that counts the difference between the number of command pulses and feedback pulses multiplied by the multipliers 51 and 65, respectively, a divider 53 with which the difference obtained by the counter 52 is divided by C, a digital/analog converter 54 that converts the output of the divider 53 to an analog command signal B, a feed-forward pulse generator 55 that generates feed-forward control pulses in response to the input command pulses, a frequency/voltage converter 56 that converts the generated feed-forward pulses to a voltage signal A representing the amount of feed-forward, and an adder 57 that adds the feed-forward signal A to the analog command signal B, producing the sum as a speed command signal. The multiplication factors of the multipliers 51 and 65, as well as the division factor of the divider 53 are preset by means of switches.
The speed control unit 70 comprises a frequency/voltage converter 64 that converts a feedback signal from the rotary encoder 63 to a voltage signal, a subtractor 58 that outputs a signal representing the difference between the speed command signal and the value of voltage as obtained by conversion from the feedback signal through the frequency/voltage converter 64, and a speed detecting operational amplifier 59 that performs an arithmetic operation on the output signal from the subtractor 58, outputting the result as a current command signal.
The current control unit 80 comprises: a current detecting operational amplifier and PWM section 61 that performs an arithmetic operation on the applied voltage on a motor 62 in response to the supplied current command signal and which converts the voltage to a corresponding duty; the motor 62 which is driven with the current detecting operational amplifier and PWM section 61; and the rotary encoder 63 which outputs a pulse signal in accordance with the rotating speed and position of the motor 62. The motor 62 drives a motor-driven object (not shown). As already mentioned, an output signal from the rotary encoder 63 is supplied to both the feedback pulse multiplier 65 and the frequency/voltage converter 64 as a feedback signal.
The command pulse multiplier 51, feedback pulse multiplier 65, deviation counter 52, divider 53 and feed-forward pulse generator 55 in the position control unit 50 are composed as an application specific integrated circuit (ASIC) 60. Therefore, the operation of multiplying the command pulses and feedback pulses are both accomplished by hardware.
Suppose here that input command pulses are supplied for directing the motor to rotate either clockwise or counterclockwise. The command pulses are fed to the feedforward pulse generator 55 where feed-forward control pulses are generated; at the same time, the command pulses are fed to the pulse multiplier 51 where they are multiplied by a factor of G.sub.1. The detection pulses from the encoder 63 are fed to the pulse multiplier 65 where they are multiplied by a factor of G.sub.2. The command pulses multiplied by G.sub.1 and the output of encoder 63 as multiplied by G.sub.2 are fed to the deviation counter 52 for detecting the difference between the two inputs. The deviation counter 52 counts the difference between the numbers of command pulses and feedback pulses and outputs the result. The output signal from the deviation counter 52 is divided by C in the divider 53 and the result is then converted to a command signal B in the digital/analog converter 54. The feed-forward control pulses generated by the generator 55 are fed to the frequency/voltage converter 56 where they are converted to a voltage signal A representing the amount of feed-forward. This feed-forward signal A is added to the command signal B and the sum is delivered as a speed command signal.
The speed command signal is fed to the operational amplifier 59 where an arithmetic operation is performed to obtain a current command signal. In response to this current command signal, the current detecting operational amplifier and PWM section 61 drives the motor 62. The rotating position and speed of the motor 62 are detected with the rotary encoder 63 and the detection signal is fed back to the deviation counter 52 while, at the same time, the signal is converted to a voltage signal in the frequency/voltage converter 64. The difference between the resulting voltage signal and the speed command signal is determined by the subtractor 58 and the resulting difference signal is fed to the operational amplifier 59 where an arithmetic operation is performed to produce an output current command signal. When the motor-driven object has reached the position indicated by the input command pulses, the output from the deviation counter 52 becomes zero, causing the motor, 62 to stop with the motor-driven object being registered with the target position. If command pulses of high frequency are fed in abruptly, the feed-forward flow including the feed-forward pulse generator 55 outputs a large speed command signal, whereby the motor 62 is immediately driven by a sufficient amount to insure that the motor-driven object is rapidly brought to the target position.
A motor control apparatus of the type described above is reported by K. Sawai in the "Small AC Servo Motor" in November extra issue of "Kikai Sekkei (Machine Design)", 1987.
In this conventional motor control apparatus, the operations of multiplying command pulses and feedback pulses are both accomplished by hardware and this has presented the following problems:
(1) The factor of multiplication, G.sub.1, of command pulses can only be selected from a narrow range of approximately 1-16 because of the limitations on the numbers of bits and switches;
(2) similarly, the factor of multiplication G.sub.2 of feedback pulses can be selected only discretely from a narrow range as 1, 2 or 4;
(3) The amount of feed-forward is related to the multiplication factor G.sub.1 for command pulses, so there can be the case where the time of response to an abrupt change in the number of command pulses can be satisfactorily shortened; and
(4) The open-loop transfer function of the position control loop varies with the multiplication factor G.sub.2 for feedback pulses, so a change in G.sub.2 will affect the stability of the control operation.